# -*- coding: cp1252 -*-

from ConectaMysql import *

class GerenciaCompra(ConectaMysql):    
    def __init__(self):        
        ConectaMysql.__init__(self)

    
    def getCompras(self, parametro = "", listaCompraId = False, alterar = False):
        self.__parametro = parametro        
        self.__listaCompraId = listaCompraId
        self.__alterar = alterar

        self.__selectBase = ("SELECT * FROM view_compradetalhada")

        self.__selectFiltro1 = (" WHERE (COMPRAid = '" + str(self.__parametro) + "')")

        self.__selectFiltro2 = (" or (USUnome like '%" + str(self.__parametro) + "%')" +
                                " or (CLInome like '%" + str(self.__parametro) + "%')" +
                                " or (COMPRAdata = '" + str(self.__parametro) + "')")

        self.__selectFiltro3 = (" GROUP BY COMPRAid")


        if (self.__parametro == ""):
            self.__select = self.__selectBase 

        elif (self.__alterar == False):
            self.__select = self.__selectBase + self.__selectFiltro1 + self.__selectFiltro2

                                
        elif (self.__alterar == True):
            self.__select = self.__selectBase + self.__selectFiltro1

                                  
                                
        if (self.__listaCompraId == True):
            self.__select = self.__select + self.__selectFiltro3


        self.__result  = self.executaQuery(self.__select)
        
        self.__arrayCompra = []
        for self.__linha in self.__result:
            self.__arrayCompra.append(self.__linha)

        return self.__arrayCompra






    def setCompra(self,objectCompra):
        self.__objectCompra = objectCompra
        
        self.__insertCompra = self.executaQuery(
            "INSERT INTO tb_compra(" +
            "`COMPRA_VENDid`," +
            "`COMPRA_CLIid`," +
            "`COMPRA_MODOid`," +
            "`COMPRAvalorTotal`," +
            "`COMPRAparcelas`," +
	    "`COMPRAconta`," +
            "`COMPRAdata`" +
            ") VALUES (" +
            "'" + str(self.__objectCompra.getVendedorId())  + "'," +
            "'" + str(self.__objectCompra.getClienteId())  + "'," +
            "'" + str(self.__objectCompra.getModoPagId())  + "'," +
            "'" + str(self.__objectCompra.getValorTotal())  + "'," +
            "'" + str(self.__objectCompra.getParcelas())  + "'," +
            "'" + str(self.__objectCompra.getContaCliente()) + "',"  +
            "NOW() )")

        
        self.__resultCompraMax = self.executaQuery("select max(COMPRAid) as CODMAX from tb_compra")

        for self.__compra in self.__resultCompraMax:
            self.__compraId = self.__compra["CODMAX"]        

        self.__listaVeiculo = self.__objectCompra.getListaVeiculo()

        for self.__veiculo in self.__listaVeiculo:
            self.__autoId = self.__veiculo["AUTOid"]

            self.__insertListaCompra = self.executaQuery("INSERT INTO tb_listacompra(" +
                                                  "`LIST_COMPRAid`, " +
                                                  "`LIST_AUTOid` " +
                                                  ") VALUES (" +
                                                  "" + str(self.__compraId) + ", " +
                                                  "" + str(self.__autoId) + ")")
            

            
            self.__updateVeiculo = self.executaQuery("UPDATE tb_automovel SET " +            
                                                "AUTOdataSaida = NOW(), " +
                                                "AUTOsituacao = 'V' " +            
                                                "WHERE (AUTOid = " + str(self.__autoId) + ")")



        print "Cadastrado com Sucesso"



    def alterCompra(self, arrayAntigaCompra, objectNovaCompra):
        self.__arrayAntigaCompra = arrayAntigaCompra
        self.__objectNovaCompra = objectNovaCompra
        self.__COMPRAid = self.__arrayAntigaCompra[0]["COMPRAid"]
        

        self.__updateCompra = self.executaQuery("UPDATE tb_compra SET " +            
                                        "COMPRA_CLIid = " + str(self.__objectNovaCompra.getClienteId()) + ", " +
                                        "COMPRA_MODOid = " + str(self.__objectNovaCompra.getModoPagId()) + ", " +
                                        "COMPRAvalorTotal = " + str(self.__objectNovaCompra.getValorTotal()) + ", " +
                                        "COMPRAparcelas = " + str(self.__objectNovaCompra.getParcelas()) + ", " +
                                        "COMPRAconta = '" +  str(self.__objectNovaCompra.getContaCliente()) + "' " +           
                                        "WHERE (COMPRAid = " + str(self.__COMPRAid) + ")")




        for self.__veiculoAntigo in self.__arrayAntigaCompra:
            self.__autoIdAntigo = self.__veiculoAntigo['AUTOid']

            self.__deletaVeiculoLista = self.executaQuery("DELETE FROM tb_listacompra WHERE (" +
                                                          "`LIST_AUTOid` = " + str(self.__autoIdAntigo) + ")")
            

            
            self.__updateVeiculoAntigo = self.executaQuery("UPDATE tb_automovel SET " +            
                                                            "AUTOdataSaida = '0000-00-00', " +
                                                            "AUTOsituacao = 'E' " +            
                                                            "WHERE (AUTOid = " + str(self.__autoIdAntigo) + ")")


            


        self.__listaVeiculoNovo = self.__objectNovaCompra.getListaVeiculo()



        for self.__veiculoNovo in self.__listaVeiculoNovo:
            self.__autoIdNovo = self.__veiculoNovo['AUTOid']

            self.__insertListaCompra = self.executaQuery("INSERT INTO tb_listacompra(" +
                                                        "`LIST_COMPRAid`," +
                                                          "`LIST_AUTOid`" +
                                                          ") VALUES (" +
                                                          "" + str(self.__COMPRAid) + "," +
                                                          "" + str(self.__autoIdNovo) + ""  +
                                                          ")")
            

            
            self.__updateVeiculo = self.executaQuery("UPDATE tb_automovel SET " +            
                                                    "AUTOdataSaida = NOW(), " +
                                                    "AUTOsituacao = 'V' " +            
                                                    "WHERE (AUTOid = " + str(self.__autoIdNovo) + ")")

        print "Alterado com Sucesso"
            
